package com.kaifamiao.socket;

import java.io.*;
import java.net.*;

/**
 * 1、端口 用于区分同一台主机上的不同程序
 *    端口的范围是 0 ~ 65535 ，建议使用 1024 之后的没有被占用的端口
 * 2、
 */
public class FirstServer {

    public static void main(String[] args) throws Exception {

        final int port = 8888;
        final InetAddress address = InetAddress.getLocalHost();
        SocketAddress  endpoint = new InetSocketAddress( address, port);

        // 创建 ServerSocket 实例
        ServerSocket ss = new ServerSocket();
        // 绑定 IP地址 和 端口
        ss.bind( endpoint );

        System.out.println( "正在监听客户端连接" );
        Socket socket = ss.accept(); // 监听客户端连接
        System.out.println( "监听到: " + socket );

        // 获得可以读取客户端数据的字节输入流
        InputStream in = socket.getInputStream();
        Reader reader = new InputStreamReader(in);
        BufferedReader br = new BufferedReader( reader );

        String line;
        while( (line = br.readLine()) != null ) {
            System.out.println(line);
        }

        // 关闭 ServerSocket 实例
        ss.close();

    }

}
